Software development for organizations is traditionally carried out product-by-product with applications developed to address specific product and service needs. As a result organizations develop large libraries of custom applications targeted at particular business solutions. To manage these large libraries, companies resort to cataloging their software using metadata identifiers, such as author, date of creation, etc. These library systems enable companies to associate desirable attributes with an application. Depending on the attribute selected for association, applications directed to similar subject matter may be identified with differing attributes. A consequence of this structure is repetitive and redundant software applications within the same organization. Further, should a developer wish to search the library for a particular application, knowledge of the metadata attributes associated with the application must be known in order to effectively retrieve the application. Additionally, use of metadata is limited in its ability to distinguish the purpose and or business value of any particular application. Metadata does not help determine the relationship between different applications, nor does it shed light on an application's applicability in a specific business processing area or context. Thus, organizations accumulate a plethora of software services with no efficient awareness of an application's location nor the function it provides.
Recent empirical studies indicate that software programs directed to core business functions can be implemented as many as 30 times across different applications. This represents tremendous inefficiency and cost both in development and maintenance of these redundant systems. Accordingly, what is needed is an efficient tool to assist developers and users of software assets that enables rapid search and retrieval of business software solutions, while providing a platform to minimize redundancy.
Throughout the drawings, like reference numbers refer to like elements, features, and structures.